﻿var vectorCallback = new Array();
var vectorValorAnterior = new Array();
var vectorValorAnteriorAsociado = new Array();
var yyy = new Array();
var cont = 0;
var i = 0;

vectorValorAnterior[0] = "";
 
function callbackEnviar() {
    //alert(arguments.length); //numero de argumentos
    //alert($("#" + arguments[1]).val()); //obtengo el valor de la etiqueta utilizando jquery y el id de la etiqueta
    //Almaceno todas los valores en un vector, "arguments" almacena, en un vector, todos los parametros que se le envia a la funcion

    colocarCargando();


    for (var i = 0; i < arguments.length; i++) {
        vectorCallback[i] = arguments[i];
    }
    //alert(formarCadena(i));//mensaje que muestra la cadena que se forma
    //var lb = "1" + "$" + $("#txtPregunta").val(); //asi se formaba anteriormente la cadena
    llamarServidor(formarCadena(i), ""); //Enviandole los valores al servidor
}

function callbackGrillaBotonEnviar() {
    //alert(arguments.length); //numero de argumentos
    //alert($("#" + arguments[1]).val()); //obtengo el valor de la etiqueta utilizando jquery y el id de la etiqueta
    //Almaceno todas los valores en un vector, "arguments" almacena, en un vector, todos los parametros que se le envia a la funcion

    colocarCargando();


    for (var i = 0; i < arguments.length; i++) {
        vectorCallback[i] = arguments[i];
    }
    //alert(formarCadena(i));//mensaje que muestra la cadena que se forma
    //var lb = "1" + "$" + $("#txtPregunta").val(); //asi se formaba anteriormente la cadena
    llamarServidor(formarCadena(i), ""); //Enviandole los valores al servidor
}

function formarCadena(numeroArgumentos) {
    if (numeroArgumentos <= 1) {
        return vectorCallback[0] + "$";
    }
    else {
        frase = vectorCallback[0] + "$";
        for (var i = 1; i < (vectorCallback.length - 1); i++) {
            frase += analizarValHtml(vectorCallback[i]) + "$";
        }
        frase += analizarValHtml(vectorCallback[numeroArgumentos - 1]);
        return frase;
    }
}

function analizarValHtml(valor) {
    if (jQuery.trim($("#" + valor).val()) != "") {
        return jQuery.trim($("#" + valor).val());
    }
    else {
        if (jQuery.trim($("#" + valor).html()) != "") {
            return jQuery.trim($("#" + valor).html());
        }
        else {
             return valor;
        }
    }
}

function colocarCargando() {

    loading = '<div id="divLoading">Procesando</div>';
    $(loading)//Creamos un div con id="divLoading"
					  .appendTo('body')//LO incorporamos en el body
    //.text(titulo)//Que tenga como texto el titulo que alamacenamos en la variable
					  .hide()//Lo ocultamos ???¿¿¿
					  .css({
					      //El color de fondo que sea utilizando la variable settings que creamos arriba
					      backgroundColor: "white",
					      color: "#A37229",
					      top: "50%",
					      left: "50%"
					  })//Le damos valores css
					  .fadeIn(1000); //hacemos que aparezca lentamente =)
};

function quitarLoading() {
    $('#divLoading')
			    .fadeOut('slow')
			    .fadeIn(0, function () { $('#divLoading').remove() });

}




/*A PARTIR DE AQUI: TODO LO NECESARIO PARA MOSTRAR LOS RESULTADOS */

function script_mostrarResultados(arg) {
    var dato = arg;
    var vector = new Array();
    llenarVector(dato, vector);
    quitarLoading();
    mostrarResultados(vector);


}

function llenarVector(abc, vector) {
    $(abc).each(function (i, elemento) {
        vector[i] = $(elemento).html();
        nombres = vector[1];
        //alert(vector[i]);
    });
}
function mostrarResultados(vector) {

    if (vector[0] == "grilla") {
        $("#" + vector[1]).html(vector[2]);
        $("#" + vector[1]).addClass("table");
    }
    else {
        if (vector[0] == "ddlist") {
            $("#" + vector[1]).html("");
            $("#" + vector[1]).append("<select></select>");
            $("#" + vector[1] + " select").html(vector[2]);
            

        }
        else {
            if (vector[0] == "grillaBoton") {
                $("#" + vector[1]).html(vector[2]);
                $("#" + vector[1]).addClass("table");

                //agregando boton:
                $("#" + vector[1] + " tr:eq(0)").append("<th>" + vector[3] + "</h>");
                //$("#" + vector[1] + " tr:not(:first)").append("<td><a onclick = 'return " + vector[4] + "()'>" + vector[3] + "</a</td>");
                $("#" + vector[1] + " tr:not(:first)").append("<td><a onclick = 'return " + vector[4] + "()'>" + vector[3] + "</a</td>");
               


                //primero obtener el tamaño del vector (vector.length)
                var tamañoVector = vector.length;
                //alert("tamañoVector: " + tamañoVector);
                //segundo restarle 6 a ese valor, con esto obtenemos la cantidad de parametros que se envian para los input (dividir entre 2 para obtener el tamaño exacto)
                numeroInicial = tamañoVector - 6;
                //alert("numeroInicial: " + numeroInicial);
                //tercero crear lo necesario para crear el inicio de una tabla es decir <table>
                tabla = "";
                tabla += "<table class='table'>";
                //cuarto crear el bucle que recorre el vector, que sea a partir del numero que hallamos en el "segundo punto"
                valorAcolocarEnFuncion = "";

                numeropar = 6;

                for (i = 0; i < tamañoVector; i++) {
                    if (i >= numeropar) {
                        numeropar = numeropar + 2;
                        //alert("Entreee");
                        tabla += "<tr>";
                        tabla += "<td>";
                        tabla += vector[i];
                        tabla += "</td>";
                        tabla += "<td>";
                        tabla += "<input id='txt" + vector[i] + "' type='text'/>";
                        tabla += "</td>";
                        tabla += "</tr>";
                        valorAcolocarEnFuncion += '$("#txt' + vector[i] + '").val($(this).siblings().eq(' + vector[i+1] + ').html());';
                    }

                    if ((i + 1) >= tamañoVector) {
                        break;
                    }
                }
                
                //agregando la funcion al body
                //EL PROBLEMA ESTA EN QUE ESTA FUUNCION NO TIENE LOS VALORES DEL VECTOR!!
                $("body").append('<script type="text/javascript">' +
                'function ' + vector[4] + '() {' +
                '$("#' + vector[5] + '").show("slow");' + //aqui colocar el show del vector 5 para que se muestre los input que estan ocultos.
                '$("#' + vector[1] + ' td:contains(' + vector[3] + ')").click(function () {' + //el problema es grillaBoton
                 '' + valorAcolocarEnFuncion +

                '});' +
                '}' +
                '</script>');
                //alert(valorAcolocarEnFuncion);
               


                /*

                $(vector).each(function (i, elemento) {

                    //alert(vector[i]);
                    if (i >= 6) {
                        //alert("Entreee");
                        tabla += "<tr>";
                        tabla += "<td>";
                        tabla += vector[i];
                        tabla += "</td>";
                        tabla += "<td>";
                        tabla += "<input id='txt" + $(vector[i + 1]).html(); +"' type='text'/>";
                        tabla += "</td>";
                        tabla += "</tr>";
                    }

                    if ((i + 1) >= tamañoVector) {
                        break;
                    }

                });
                */
                //sexto terminar todo con </table>

                /*if (valorAnterior == "") {
                    valorAnterior = $("#" + vector[5]).html();
                }*/
                xxx = 0;
                vectorValorAnterior[cont] = vector[5];

                for (i = 0; i < vectorValorAnterior.length; i++) {

                    if (vector[5] == vectorValorAnterior[i]) {
                        if (yyy[i] != 1) {
                            vectorValorAnteriorAsociado[i] = $("#" + vector[5]).html();
                            yyy[i] = 1;
                        }
                    

                        break;
                    }
                    else {
                        xxx++;
                    }


                }

                if (xxx + 1 == vectorValorAnterior.length) {
                    
                    //vectorValorAnterior[cont] = vector[5];
                    cont++;
                }
              valorAnterior = vectorValorAnteriorAsociado[i];


              /*
                for (i = 0; i < vectorValorAnterior; i++) {

                    if (valorAnterior == $("#" + vector[5]).html()) {
                        break;
                    }
                    else {
                        valorAnterior = $("#" + vector[5]).html();
                    }


                }*/
               

                tabla += "</table>";
                //alert(tabla);
                $("#"+ vector[5]).html(tabla);
                $("#"+ vector[5]).append(valorAnterior);
                //alert($("#oculto").html());








            }
            else {
                Sexy.info(vector[0]);
            }

        }
    }
}


/*A PARTIR DE AQUI PARA MOSTRAR UN BOTON EN LA GRILLA*/

























